﻿using DevExpress.Data.Filtering;
using YAPACS.BusinessObjects.Managements.Exams;
using YAPACS.RisServer.Services.Dtos;
using YAPACS.Workflows;

namespace YAPACS.RisServer.Abstractions;

public interface IExportService
{
    Task<MemoryStream> ExportListToStreamAsync(DataGridRequest request, CriteriaOperator criteriaOperator,
        IWorkflow expressionWorkflow, IWorkflow getHeadersWorkflow, IWorkflow getDefaultFilterWorkflow = null,
        ExamFilterType examFilterType = ExamFilterType.Appointment);

    Task<string> ExportListToFileAsync(DataGridRequest request, CriteriaOperator criteriaOperator,
        IWorkflow expressionWorkflow, IWorkflow getHeadersWorkflow, IWorkflow getDefaultFilterWorkflow = null,
        ExamFilterType examFilterType = ExamFilterType.Appointment);
}
